package com.mew.common.entity.user;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;

import static com.baomidou.mybatisplus.annotation.IdType.AUTO;


@TableName("u_user")
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User {


    @TableId(value = "id", type = AUTO)
    private Long id;
    /**
     * 游戏号
     */
    @TableField("gid")
    private String gid;
    /**
     * 电话
     */
    @TableField("tel_number")
    private String telNumber;
    /**
     * 昵称
     */
    @TableField("nickname")
    private String nickname;
    /**
     * （-9机器人，-1游客，1表示普通，9表示顶级会员）
     */
    @TableField("user_type")
    private Integer userType;
    /**
     * 头像路径
     */
    @TableField("head_path")
    private Integer headPath;
    /**
     * 签名
     */
    @TableField("signature")
    private String signature;
    @TableField("add_mac")
    private String addMac;
    @TableField("add_ip")
    private String addIp;
    /**
     * 密码
     */
    @TableField("password")
    private String password;
    /**
     * 【0，女 1，男】
     */
    @TableField("sex")
    private Integer sex;
    /**
     * 微信
     */
    @TableField("wx_open_id")
    private String wxOpenId;
    /**
     * 微信号
     */
    @TableField("wx_number")
    private String wxNumber;
    /**
     * 微信名称
     */
    @TableField("wx_name")
    private String wxName;
    /**
     * [0表示删除，1表示有效]
     */
    @TableField("state")
    private Integer state;
    @TableField("add_time")
    private Date addTime;

    @TableField("last_mac")
    private String lastMac;
    @TableField("last_ip")
    private String lastIp;
    @TableField("last_devices_type")
    private Integer lastDevicesType;
    @TableField("last_login_time")
    private Date lastLoginTime;
    /**
     * 0未指引,  1 已指引
     */
    @TableField("guide_type")
    private Integer guideType;

    /**
     * 邀请人
     */
    @TableField("inviter")
    private Long inviter;

    @TableField(exist = false)
    private int whiteList; //0 表示不处于白名单，  1 处于白名单

    @TableField("account")
    private String account;

    @TableField("manager")
    private String manager;

    @TableField("account_type")
    private Integer accountType;

    @TableField("first_mac")
    private String firstMac;
}
